package com.alibaba.springboot.test.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DrugExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DrugExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andDrugIdIsNull() {
            addCriterion("drug_id is null");
            return (Criteria) this;
        }

        public Criteria andDrugIdIsNotNull() {
            addCriterion("drug_id is not null");
            return (Criteria) this;
        }

        public Criteria andDrugIdEqualTo(Integer value) {
            addCriterion("drug_id =", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdNotEqualTo(Integer value) {
            addCriterion("drug_id <>", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdGreaterThan(Integer value) {
            addCriterion("drug_id >", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("drug_id >=", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdLessThan(Integer value) {
            addCriterion("drug_id <", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdLessThanOrEqualTo(Integer value) {
            addCriterion("drug_id <=", value, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdIn(List<Integer> values) {
            addCriterion("drug_id in", values, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdNotIn(List<Integer> values) {
            addCriterion("drug_id not in", values, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdBetween(Integer value1, Integer value2) {
            addCriterion("drug_id between", value1, value2, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugIdNotBetween(Integer value1, Integer value2) {
            addCriterion("drug_id not between", value1, value2, "drugId");
            return (Criteria) this;
        }

        public Criteria andDrugNameIsNull() {
            addCriterion("drug_name is null");
            return (Criteria) this;
        }

        public Criteria andDrugNameIsNotNull() {
            addCriterion("drug_name is not null");
            return (Criteria) this;
        }

        public Criteria andDrugNameEqualTo(String value) {
            addCriterion("drug_name =", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameNotEqualTo(String value) {
            addCriterion("drug_name <>", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameGreaterThan(String value) {
            addCriterion("drug_name >", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameGreaterThanOrEqualTo(String value) {
            addCriterion("drug_name >=", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameLessThan(String value) {
            addCriterion("drug_name <", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameLessThanOrEqualTo(String value) {
            addCriterion("drug_name <=", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameLike(String value) {
            addCriterion("drug_name like", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameNotLike(String value) {
            addCriterion("drug_name not like", value, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameIn(List<String> values) {
            addCriterion("drug_name in", values, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameNotIn(List<String> values) {
            addCriterion("drug_name not in", values, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameBetween(String value1, String value2) {
            addCriterion("drug_name between", value1, value2, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugNameNotBetween(String value1, String value2) {
            addCriterion("drug_name not between", value1, value2, "drugName");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdIsNull() {
            addCriterion("drug_type_id is null");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdIsNotNull() {
            addCriterion("drug_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdEqualTo(Integer value) {
            addCriterion("drug_type_id =", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdNotEqualTo(Integer value) {
            addCriterion("drug_type_id <>", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdGreaterThan(Integer value) {
            addCriterion("drug_type_id >", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("drug_type_id >=", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdLessThan(Integer value) {
            addCriterion("drug_type_id <", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("drug_type_id <=", value, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdIn(List<Integer> values) {
            addCriterion("drug_type_id in", values, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdNotIn(List<Integer> values) {
            addCriterion("drug_type_id not in", values, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("drug_type_id between", value1, value2, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("drug_type_id not between", value1, value2, "drugTypeId");
            return (Criteria) this;
        }

        public Criteria andDrugPriceIsNull() {
            addCriterion("drug_price is null");
            return (Criteria) this;
        }

        public Criteria andDrugPriceIsNotNull() {
            addCriterion("drug_price is not null");
            return (Criteria) this;
        }

        public Criteria andDrugPriceEqualTo(Double value) {
            addCriterion("drug_price =", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceNotEqualTo(Double value) {
            addCriterion("drug_price <>", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceGreaterThan(Double value) {
            addCriterion("drug_price >", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("drug_price >=", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceLessThan(Double value) {
            addCriterion("drug_price <", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceLessThanOrEqualTo(Double value) {
            addCriterion("drug_price <=", value, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceIn(List<Double> values) {
            addCriterion("drug_price in", values, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceNotIn(List<Double> values) {
            addCriterion("drug_price not in", values, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceBetween(Double value1, Double value2) {
            addCriterion("drug_price between", value1, value2, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugPriceNotBetween(Double value1, Double value2) {
            addCriterion("drug_price not between", value1, value2, "drugPrice");
            return (Criteria) this;
        }

        public Criteria andDrugNumberIsNull() {
            addCriterion("drug_number is null");
            return (Criteria) this;
        }

        public Criteria andDrugNumberIsNotNull() {
            addCriterion("drug_number is not null");
            return (Criteria) this;
        }

        public Criteria andDrugNumberEqualTo(String value) {
            addCriterion("drug_number =", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberNotEqualTo(String value) {
            addCriterion("drug_number <>", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberGreaterThan(String value) {
            addCriterion("drug_number >", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberGreaterThanOrEqualTo(String value) {
            addCriterion("drug_number >=", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberLessThan(String value) {
            addCriterion("drug_number <", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberLessThanOrEqualTo(String value) {
            addCriterion("drug_number <=", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberLike(String value) {
            addCriterion("drug_number like", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberNotLike(String value) {
            addCriterion("drug_number not like", value, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberIn(List<String> values) {
            addCriterion("drug_number in", values, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberNotIn(List<String> values) {
            addCriterion("drug_number not in", values, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberBetween(String value1, String value2) {
            addCriterion("drug_number between", value1, value2, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugNumberNotBetween(String value1, String value2) {
            addCriterion("drug_number not between", value1, value2, "drugNumber");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceIsNull() {
            addCriterion("drug_place is null");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceIsNotNull() {
            addCriterion("drug_place is not null");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceEqualTo(String value) {
            addCriterion("drug_place =", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceNotEqualTo(String value) {
            addCriterion("drug_place <>", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceGreaterThan(String value) {
            addCriterion("drug_place >", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceGreaterThanOrEqualTo(String value) {
            addCriterion("drug_place >=", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceLessThan(String value) {
            addCriterion("drug_place <", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceLessThanOrEqualTo(String value) {
            addCriterion("drug_place <=", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceLike(String value) {
            addCriterion("drug_place like", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceNotLike(String value) {
            addCriterion("drug_place not like", value, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceIn(List<String> values) {
            addCriterion("drug_place in", values, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceNotIn(List<String> values) {
            addCriterion("drug_place not in", values, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceBetween(String value1, String value2) {
            addCriterion("drug_place between", value1, value2, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugPlaceNotBetween(String value1, String value2) {
            addCriterion("drug_place not between", value1, value2, "drugPlace");
            return (Criteria) this;
        }

        public Criteria andDrugImgIsNull() {
            addCriterion("drug_img is null");
            return (Criteria) this;
        }

        public Criteria andDrugImgIsNotNull() {
            addCriterion("drug_img is not null");
            return (Criteria) this;
        }

        public Criteria andDrugImgEqualTo(String value) {
            addCriterion("drug_img =", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgNotEqualTo(String value) {
            addCriterion("drug_img <>", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgGreaterThan(String value) {
            addCriterion("drug_img >", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgGreaterThanOrEqualTo(String value) {
            addCriterion("drug_img >=", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgLessThan(String value) {
            addCriterion("drug_img <", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgLessThanOrEqualTo(String value) {
            addCriterion("drug_img <=", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgLike(String value) {
            addCriterion("drug_img like", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgNotLike(String value) {
            addCriterion("drug_img not like", value, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgIn(List<String> values) {
            addCriterion("drug_img in", values, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgNotIn(List<String> values) {
            addCriterion("drug_img not in", values, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgBetween(String value1, String value2) {
            addCriterion("drug_img between", value1, value2, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugImgNotBetween(String value1, String value2) {
            addCriterion("drug_img not between", value1, value2, "drugImg");
            return (Criteria) this;
        }

        public Criteria andDrugDoseIsNull() {
            addCriterion("drug_dose is null");
            return (Criteria) this;
        }

        public Criteria andDrugDoseIsNotNull() {
            addCriterion("drug_dose is not null");
            return (Criteria) this;
        }

        public Criteria andDrugDoseEqualTo(String value) {
            addCriterion("drug_dose =", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseNotEqualTo(String value) {
            addCriterion("drug_dose <>", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseGreaterThan(String value) {
            addCriterion("drug_dose >", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseGreaterThanOrEqualTo(String value) {
            addCriterion("drug_dose >=", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseLessThan(String value) {
            addCriterion("drug_dose <", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseLessThanOrEqualTo(String value) {
            addCriterion("drug_dose <=", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseLike(String value) {
            addCriterion("drug_dose like", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseNotLike(String value) {
            addCriterion("drug_dose not like", value, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseIn(List<String> values) {
            addCriterion("drug_dose in", values, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseNotIn(List<String> values) {
            addCriterion("drug_dose not in", values, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseBetween(String value1, String value2) {
            addCriterion("drug_dose between", value1, value2, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugDoseNotBetween(String value1, String value2) {
            addCriterion("drug_dose not between", value1, value2, "drugDose");
            return (Criteria) this;
        }

        public Criteria andDrugSpecIsNull() {
            addCriterion("drug_spec is null");
            return (Criteria) this;
        }

        public Criteria andDrugSpecIsNotNull() {
            addCriterion("drug_spec is not null");
            return (Criteria) this;
        }

        public Criteria andDrugSpecEqualTo(String value) {
            addCriterion("drug_spec =", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecNotEqualTo(String value) {
            addCriterion("drug_spec <>", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecGreaterThan(String value) {
            addCriterion("drug_spec >", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecGreaterThanOrEqualTo(String value) {
            addCriterion("drug_spec >=", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecLessThan(String value) {
            addCriterion("drug_spec <", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecLessThanOrEqualTo(String value) {
            addCriterion("drug_spec <=", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecLike(String value) {
            addCriterion("drug_spec like", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecNotLike(String value) {
            addCriterion("drug_spec not like", value, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecIn(List<String> values) {
            addCriterion("drug_spec in", values, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecNotIn(List<String> values) {
            addCriterion("drug_spec not in", values, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecBetween(String value1, String value2) {
            addCriterion("drug_spec between", value1, value2, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugSpecNotBetween(String value1, String value2) {
            addCriterion("drug_spec not between", value1, value2, "drugSpec");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionIsNull() {
            addCriterion("drug_function is null");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionIsNotNull() {
            addCriterion("drug_function is not null");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionEqualTo(String value) {
            addCriterion("drug_function =", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionNotEqualTo(String value) {
            addCriterion("drug_function <>", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionGreaterThan(String value) {
            addCriterion("drug_function >", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionGreaterThanOrEqualTo(String value) {
            addCriterion("drug_function >=", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionLessThan(String value) {
            addCriterion("drug_function <", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionLessThanOrEqualTo(String value) {
            addCriterion("drug_function <=", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionLike(String value) {
            addCriterion("drug_function like", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionNotLike(String value) {
            addCriterion("drug_function not like", value, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionIn(List<String> values) {
            addCriterion("drug_function in", values, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionNotIn(List<String> values) {
            addCriterion("drug_function not in", values, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionBetween(String value1, String value2) {
            addCriterion("drug_function between", value1, value2, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugFunctionNotBetween(String value1, String value2) {
            addCriterion("drug_function not between", value1, value2, "drugFunction");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateIsNull() {
            addCriterion("drug_create_date is null");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateIsNotNull() {
            addCriterion("drug_create_date is not null");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateEqualTo(Date value) {
            addCriterionForJDBCDate("drug_create_date =", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("drug_create_date <>", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateGreaterThan(Date value) {
            addCriterionForJDBCDate("drug_create_date >", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("drug_create_date >=", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateLessThan(Date value) {
            addCriterionForJDBCDate("drug_create_date <", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("drug_create_date <=", value, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateIn(List<Date> values) {
            addCriterionForJDBCDate("drug_create_date in", values, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("drug_create_date not in", values, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("drug_create_date between", value1, value2, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugCreateDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("drug_create_date not between", value1, value2, "drugCreateDate");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveIsNull() {
            addCriterion("drug_effective is null");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveIsNotNull() {
            addCriterion("drug_effective is not null");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveEqualTo(String value) {
            addCriterion("drug_effective =", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveNotEqualTo(String value) {
            addCriterion("drug_effective <>", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveGreaterThan(String value) {
            addCriterion("drug_effective >", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveGreaterThanOrEqualTo(String value) {
            addCriterion("drug_effective >=", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveLessThan(String value) {
            addCriterion("drug_effective <", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveLessThanOrEqualTo(String value) {
            addCriterion("drug_effective <=", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveLike(String value) {
            addCriterion("drug_effective like", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveNotLike(String value) {
            addCriterion("drug_effective not like", value, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveIn(List<String> values) {
            addCriterion("drug_effective in", values, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveNotIn(List<String> values) {
            addCriterion("drug_effective not in", values, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveBetween(String value1, String value2) {
            addCriterion("drug_effective between", value1, value2, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugEffectiveNotBetween(String value1, String value2) {
            addCriterion("drug_effective not between", value1, value2, "drugEffective");
            return (Criteria) this;
        }

        public Criteria andDrugSalesIsNull() {
            addCriterion("drug_sales is null");
            return (Criteria) this;
        }

        public Criteria andDrugSalesIsNotNull() {
            addCriterion("drug_sales is not null");
            return (Criteria) this;
        }

        public Criteria andDrugSalesEqualTo(Integer value) {
            addCriterion("drug_sales =", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesNotEqualTo(Integer value) {
            addCriterion("drug_sales <>", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesGreaterThan(Integer value) {
            addCriterion("drug_sales >", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesGreaterThanOrEqualTo(Integer value) {
            addCriterion("drug_sales >=", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesLessThan(Integer value) {
            addCriterion("drug_sales <", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesLessThanOrEqualTo(Integer value) {
            addCriterion("drug_sales <=", value, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesIn(List<Integer> values) {
            addCriterion("drug_sales in", values, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesNotIn(List<Integer> values) {
            addCriterion("drug_sales not in", values, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesBetween(Integer value1, Integer value2) {
            addCriterion("drug_sales between", value1, value2, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugSalesNotBetween(Integer value1, Integer value2) {
            addCriterion("drug_sales not between", value1, value2, "drugSales");
            return (Criteria) this;
        }

        public Criteria andDrugStatusIsNull() {
            addCriterion("drug_status is null");
            return (Criteria) this;
        }

        public Criteria andDrugStatusIsNotNull() {
            addCriterion("drug_status is not null");
            return (Criteria) this;
        }

        public Criteria andDrugStatusEqualTo(Integer value) {
            addCriterion("drug_status =", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusNotEqualTo(Integer value) {
            addCriterion("drug_status <>", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusGreaterThan(Integer value) {
            addCriterion("drug_status >", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("drug_status >=", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusLessThan(Integer value) {
            addCriterion("drug_status <", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusLessThanOrEqualTo(Integer value) {
            addCriterion("drug_status <=", value, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusIn(List<Integer> values) {
            addCriterion("drug_status in", values, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusNotIn(List<Integer> values) {
            addCriterion("drug_status not in", values, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusBetween(Integer value1, Integer value2) {
            addCriterion("drug_status between", value1, value2, "drugStatus");
            return (Criteria) this;
        }

        public Criteria andDrugStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("drug_status not between", value1, value2, "drugStatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}